"""
数据处理计算
==============================================================================================
filter

过滤想要的数据进行保留

==============================================================================================
rdd.filter(func)

# func: (T) -> bool 传入一个参数、返回值为 bool 类型

- 接受一个处理函数，可用lambda快速编写
- 函数对RDD数据逐个处理，得到True的保留至返回值的RDD中
"""

# 演示RDD的flatMap成员方法的使用
from pyspark import SparkConf, SparkContext
# windows 中 spark 找不到对于的 python 解释器会报错
import os

os.environ["PYSPARK_PYTHON"] = "D:/python3.11/python.exe"

conf = SparkConf().setMaster("local[*]").setAppName("test_spark")
sc = SparkContext(conf=conf)


# 准备一个RDD
rdd = sc.parallelize([1, 2, 3, 4, 5]).filter(lambda x: x % 2 == 0)
# [2, 4]
print(rdd.collect())
